#if false
using QFramework;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class StorageRule
{
    public List<StorageArrangement> ArrangementList = new();
}
public class NdcStorageRule : StorageRule
{
    public NdcStorageRule(int shelvesCount)
    {
        for (int i = 0; i < shelvesCount; i++)
        {
            if (i < 4)
            {
                StorageArrangement arrangement;
                arrangement = new StorageArrangement(Vector3.forward);
                arrangement.ascendingOrder_Height = Vector3.up;
                ArrangementList.Add(arrangement);
            }
            else if (i == 4)
            {
                StorageArrangement arrangement;
                arrangement = new StorageArrangement(Vector3.right);
                arrangement.ascendingOrder_Height = Vector3.up;
                ArrangementList.Add(arrangement);
            }
            else if (i == 5)
            {
                StorageArrangement arrangement;
                arrangement = new StorageArrangement(Vector3.left);
                arrangement.ascendingOrder_Height = Vector3.up;
                ArrangementList.Add(arrangement);
            }
        }
    }
}
public interface IStorageRuleModel : IModel
{
     Dictionary<Type, StorageRule> Type_RuleDict { get; set; }
}
public class StorageRuleModel : AbstractModel, IStorageRuleModel
{
    public Dictionary<Type, StorageRule> Type_RuleDict { get; set; }

    protected override void OnInit()
    {
        Type_RuleDict = new();
    }
}
public struct StorageArrangement
{
    public Vector3 ascendingOrder_Cell;
    public Vector3 ascendingOrder_Height;

    public StorageArrangement(Vector3 ascendingOrder_Cell)
    {
        this.ascendingOrder_Cell = ascendingOrder_Cell;
        ascendingOrder_Height = Vector3.zero;
    }
}
#endif
